package com.example.trafficmap;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;

import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;

public class MainActivity extends MapActivity {
	private Boolean first_write = true;
	private MapView mapView;
	private MapController mapController;
	private LocationManager locMgr;
	private MyLocationListener locLstner;
	private List mapOverlays;
	private String m_szDevIDShort = "35" + //we make this look like a valid IMEI
			Build.BOARD.length()%10+ Build.BRAND.length()%10 + 
			Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + 
			Build.DISPLAY.length()%10 + Build.HOST.length()%10 + 
			Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + 
			Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + 
			Build.TAGS.length()%10 + Build.TYPE.length()%10 + 
			Build.USER.length()%10 ; //13 digits
			private ArrayList<GeoPoint> tracks = new ArrayList<GeoPoint>();


			@Override
			public void onCreate(Bundle savedInstanceState) {
				super.onCreate(savedInstanceState);
				setContentView(R.layout.activity_main);

				//fetch the map view from the layout
				mapView = (MapView) findViewById(R.id.mapview);
				//make available zoom controls
				mapView.setBuiltInZoomControls(true);
				//turns on google traffic layer
				mapView.setTraffic(true);
				//prints warning to the scr
				Toast.makeText( getApplicationContext(),"Do NOT Operate While Driving",Toast.LENGTH_SHORT).show();



				mapController = mapView.getController();
				

				mapController.setZoom(16);
				locMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
				locLstner = new MyLocationListener();
				locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locLstner);   
				
//				 tracks.add(new GeoPoint((int) (39.642742*1E6),(int) (-79.97168*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64273*1E6),(int) (-79.9705*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642727*1E6),(int) (-79.96996*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642723*1E6),(int) (-79.96925*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642967*1E6),(int) (-79.96848*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642998*1E6),(int) (-79.96785*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64296*1E6),(int) (-79.96732*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64296*1E6),(int) (-79.96673*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64288*1E6),(int) (-79.96566*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64283*1E6),(int) (-79.9652*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642563*1E6),(int) (-79.96426*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642445*1E6),(int) (-79.96384*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642296*1E6),(int) (-79.96329*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641956*1E6),(int) (-79.96303*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641758*1E6),(int) (-79.96279*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641647*1E6),(int) (-79.96261*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641514*1E6),(int) (-79.96239*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641327*1E6),(int) (-79.9622*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64116*1E6),(int) (-79.961975*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64107*1E6),(int) (-79.961784*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64094*1E6),(int) (-79.961586*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640755*1E6),(int) (-79.961334*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640594*1E6),(int) (-79.96105*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64045*1E6),(int) (-79.960815*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640335*1E6),(int) (-79.96061*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640244*1E6),(int) (-79.96045*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640125*1E6),(int) (-79.96029*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639988*1E6),(int) (-79.9601*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639694*1E6),(int) (-79.95969*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639587*1E6),(int) (-79.95956*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639484*1E6),(int) (-79.95943*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639355*1E6),(int) (-79.95927*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63913*1E6),(int) (-79.959145*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639057*1E6),(int) (-79.95924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639053*1E6),(int) (-79.95924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639046*1E6),(int) (-79.959236*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639057*1E6),(int) (-79.95925*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638966*1E6),(int) (-79.95924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638924*1E6),(int) (-79.95923*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63887*1E6),(int) (-79.95921*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638702*1E6),(int) (-79.958885*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638557*1E6),(int) (-79.95877*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638416*1E6),(int) (-79.958664*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638474*1E6),(int) (-79.9586*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638466*1E6),(int) (-79.9586*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638466*1E6),(int) (-79.95858*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638474*1E6),(int) (-79.95857*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638474*1E6),(int) (-79.95857*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638474*1E6),(int) (-79.95857*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63847*1E6),(int) (-79.95857*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638466*1E6),(int) (-79.95857*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638454*1E6),(int) (-79.958565*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638447*1E6),(int) (-79.95855*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63811*1E6),(int) (-79.95827*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63801*1E6),(int) (-79.95816*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637947*1E6),(int) (-79.958*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637924*1E6),(int) (-79.95799*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95783*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.95784*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63721*1E6),(int) (-79.95782*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637215*1E6),(int) (-79.95776*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637188*1E6),(int) (-79.95775*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637257*1E6),(int) (-79.95778*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637295*1E6),(int) (-79.95782*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637302*1E6),(int) (-79.95775*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637287*1E6),(int) (-79.9578*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637287*1E6),(int) (-79.9578*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637283*1E6),(int) (-79.957794*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637287*1E6),(int) (-79.957794*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637302*1E6),(int) (-79.9578*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637302*1E6),(int) (-79.9578*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637302*1E6),(int) (-79.9578*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637283*1E6),(int) (-79.957794*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637318*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637318*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637318*1E6),(int) (-79.95782*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637314*1E6),(int) (-79.95781*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6373*1E6),(int) (-79.95779*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6373*1E6),(int) (-79.95779*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6373*1E6),(int) (-79.957794*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6373*1E6),(int) (-79.957794*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6373*1E6),(int) (-79.95779*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637287*1E6),(int) (-79.95778*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637276*1E6),(int) (-79.95776*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637276*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63727*1E6),(int) (-79.957756*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637157*1E6),(int) (-79.95734*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637096*1E6),(int) (-79.957115*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63702*1E6),(int) (-79.95684*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63694*1E6),(int) (-79.95624*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636955*1E6),(int) (-79.95621*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636974*1E6),(int) (-79.95618*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636913*1E6),(int) (-79.9563*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636913*1E6),(int) (-79.95629*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636906*1E6),(int) (-79.956314*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636868*1E6),(int) (-79.956406*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636856*1E6),(int) (-79.95643*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636856*1E6),(int) (-79.95643*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636856*1E6),(int) (-79.95643*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636913*1E6),(int) (-79.956314*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63693*1E6),(int) (-79.9563*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63693*1E6),(int) (-79.9563*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.636925*1E6),(int) (-79.95631*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637012*1E6),(int) (-79.956215*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63709*1E6),(int) (-79.956154*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637135*1E6),(int) (-79.95605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637165*1E6),(int) (-79.95589*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637203*1E6),(int) (-79.955696*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637238*1E6),(int) (-79.95554*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637295*1E6),(int) (-79.95535*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637356*1E6),(int) (-79.95537*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63735*1E6),(int) (-79.9553*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637363*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637356*1E6),(int) (-79.9553*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63733*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63733*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63733*1E6),(int) (-79.95531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637333*1E6),(int) (-79.9553*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637333*1E6),(int) (-79.9553*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637333*1E6),(int) (-79.9553*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637337*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.955284*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.955284*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.955284*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.955284*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63734*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637375*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.637493*1E6),(int) (-79.955315*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63765*1E6),(int) (-79.95534*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.638626*1E6),(int) (-79.95548*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.63885*1E6),(int) (-79.95555*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639137*1E6),(int) (-79.955635*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.639973*1E6),(int) (-79.95593*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640205*1E6),(int) (-79.95605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640507*1E6),(int) (-79.95621*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.640846*1E6),(int) (-79.95647*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641155*1E6),(int) (-79.956795*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641327*1E6),(int) (-79.956985*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641487*1E6),(int) (-79.95718*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641666*1E6),(int) (-79.9574*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.641853*1E6),(int) (-79.95761*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642033*1E6),(int) (-79.957855*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642296*1E6),(int) (-79.958176*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.642582*1E6),(int) (-79.95834*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64276*1E6),(int) (-79.95847*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.643005*1E6),(int) (-79.95865*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.643463*1E6),(int) (-79.95822*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.643764*1E6),(int) (-79.95788*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.643986*1E6),(int) (-79.95769*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64418*1E6),(int) (-79.95744*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.644386*1E6),(int) (-79.95722*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64485*1E6),(int) (-79.95695*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.645123*1E6),(int) (-79.956795*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.645416*1E6),(int) (-79.95668*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.645737*1E6),(int) (-79.95719*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64596*1E6),(int) (-79.957405*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64619*1E6),(int) (-79.95763*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64655*1E6),(int) (-79.95805*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.646767*1E6),(int) (-79.9583*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.646973*1E6),(int) (-79.95852*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647243*1E6),(int) (-79.9591*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647366*1E6),(int) (-79.959564*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64745*1E6),(int) (-79.95994*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647434*1E6),(int) (-79.96024*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647427*1E6),(int) (-79.96054*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64745*1E6),(int) (-79.96079*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647537*1E6),(int) (-79.961075*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64763*1E6),(int) (-79.96134*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.647964*1E6),(int) (-79.96193*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.648174*1E6),(int) (-79.962296*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.648384*1E6),(int) (-79.96266*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64871*1E6),(int) (-79.96323*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64891*1E6),(int) (-79.96356*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649113*1E6),(int) (-79.9639*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64937*1E6),(int) (-79.96417*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64951*1E6),(int) (-79.9644*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64962*1E6),(int) (-79.96459*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649708*1E6),(int) (-79.96474*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.64978*1E6),(int) (-79.96488*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649834*1E6),(int) (-79.96499*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649895*1E6),(int) (-79.965096*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649967*1E6),(int) (-79.965225*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649998*1E6),(int) (-79.96531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649998*1E6),(int) (-79.96531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.649998*1E6),(int) (-79.96531*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650013*1E6),(int) (-79.96533*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650097*1E6),(int) (-79.9654*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650173*1E6),(int) (-79.965485*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6506*1E6),(int) (-79.965836*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650654*1E6),(int) (-79.9659*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65074*1E6),(int) (-79.96596*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65085*1E6),(int) (-79.96604*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650795*1E6),(int) (-79.966064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650803*1E6),(int) (-79.96606*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650806*1E6),(int) (-79.96606*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65082*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650826*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650826*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650833*1E6),(int) (-79.96604*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650833*1E6),(int) (-79.96604*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650833*1E6),(int) (-79.96604*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65083*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65083*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65083*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65083*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650833*1E6),(int) (-79.96605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.966064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.966064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.966064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.966064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65084*1E6),(int) (-79.96608*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650837*1E6),(int) (-79.966095*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65084*1E6),(int) (-79.9661*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65084*1E6),(int) (-79.9661*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.9661*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650845*1E6),(int) (-79.9661*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65085*1E6),(int) (-79.96611*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650906*1E6),(int) (-79.96614*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.650974*1E6),(int) (-79.966194*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65106*1E6),(int) (-79.96627*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65124*1E6),(int) (-79.96637*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65134*1E6),(int) (-79.96644*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651447*1E6),(int) (-79.96652*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651604*1E6),(int) (-79.96612*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651703*1E6),(int) (-79.96588*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651794*1E6),(int) (-79.96565*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651882*1E6),(int) (-79.96519*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.651943*1E6),(int) (-79.964935*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65201*1E6),(int) (-79.96465*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65202*1E6),(int) (-79.964645*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65204*1E6),(int) (-79.964455*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65208*1E6),(int) (-79.96428*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.652134*1E6),(int) (-79.96406*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.652424*1E6),(int) (-79.96366*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65259*1E6),(int) (-79.963524*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.652775*1E6),(int) (-79.96336*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.653168*1E6),(int) (-79.96354*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.653496*1E6),(int) (-79.96353*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65377*1E6),(int) (-79.96351*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65403*1E6),(int) (-79.96337*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65424*1E6),(int) (-79.96328*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654324*1E6),(int) (-79.96311*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654408*1E6),(int) (-79.96283*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654488*1E6),(int) (-79.9625*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654484*1E6),(int) (-79.96209*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65451*1E6),(int) (-79.96185*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654568*1E6),(int) (-79.961555*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65471*1E6),(int) (-79.96135*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654858*1E6),(int) (-79.961105*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654667*1E6),(int) (-79.96143*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654663*1E6),(int) (-79.96142*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654663*1E6),(int) (-79.96141*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.654873*1E6),(int) (-79.96151*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65507*1E6),(int) (-79.961655*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65519*1E6),(int) (-79.96176*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655266*1E6),(int) (-79.96208*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655293*1E6),(int) (-79.96218*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655315*1E6),(int) (-79.9623*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655228*1E6),(int) (-79.96266*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655224*1E6),(int) (-79.962944*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65522*1E6),(int) (-79.96324*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655212*1E6),(int) (-79.96322*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655212*1E6),(int) (-79.96326*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65525*1E6),(int) (-79.96328*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655228*1E6),(int) (-79.963295*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655224*1E6),(int) (-79.96333*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655224*1E6),(int) (-79.96335*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65528*1E6),(int) (-79.9632*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655285*1E6),(int) (-79.96321*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655277*1E6),(int) (-79.96323*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655293*1E6),(int) (-79.96324*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6553*1E6),(int) (-79.96326*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655304*1E6),(int) (-79.96327*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655296*1E6),(int) (-79.96327*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655296*1E6),(int) (-79.96327*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655296*1E6),(int) (-79.96327*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655293*1E6),(int) (-79.96327*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6553*1E6),(int) (-79.96329*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655308*1E6),(int) (-79.963326*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6553*1E6),(int) (-79.96333*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655296*1E6),(int) (-79.96334*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65533*1E6),(int) (-79.9634*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655468*1E6),(int) (-79.963425*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655647*1E6),(int) (-79.963425*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.655872*1E6),(int) (-79.96342*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.656136*1E6),(int) (-79.96341*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.656517*1E6),(int) (-79.96337*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.656822*1E6),(int) (-79.96334*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65715*1E6),(int) (-79.96331*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65745*1E6),(int) (-79.963326*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657654*1E6),(int) (-79.963104*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65765*1E6),(int) (-79.96289*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657642*1E6),(int) (-79.96261*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657604*1E6),(int) (-79.962296*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657566*1E6),(int) (-79.96196*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657543*1E6),(int) (-79.96163*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657604*1E6),(int) (-79.96096*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657597*1E6),(int) (-79.96064*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65758*1E6),(int) (-79.96024*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657665*1E6),(int) (-79.95919*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657684*1E6),(int) (-79.958725*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6577*1E6),(int) (-79.95825*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657814*1E6),(int) (-79.95771*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657818*1E6),(int) (-79.95762*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657818*1E6),(int) (-79.95748*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657837*1E6),(int) (-79.957275*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657837*1E6),(int) (-79.95704*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65785*1E6),(int) (-79.95677*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65786*1E6),(int) (-79.95648*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6579*1E6),(int) (-79.955795*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657913*1E6),(int) (-79.95545*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95511*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657906*1E6),(int) (-79.95534*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657917*1E6),(int) (-79.955376*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657917*1E6),(int) (-79.955376*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657917*1E6),(int) (-79.955376*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657917*1E6),(int) (-79.955376*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95538*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95538*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95538*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95539*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65793*1E6),(int) (-79.95539*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657925*1E6),(int) (-79.95525*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65792*1E6),(int) (-79.95508*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.657986*1E6),(int) (-79.9549*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.658115*1E6),(int) (-79.954834*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.658306*1E6),(int) (-79.95472*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.658493*1E6),(int) (-79.95469*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.658745*1E6),(int) (-79.95458*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.659004*1E6),(int) (-79.95447*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.659393*1E6),(int) (-79.95422*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.65966*1E6),(int) (-79.95408*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.659924*1E6),(int) (-79.95394*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66024*1E6),(int) (-79.953735*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.660732*1E6),(int) (-79.95348*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66098*1E6),(int) (-79.95337*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.661297*1E6),(int) (-79.95323*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.661648*1E6),(int) (-79.95302*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66178*1E6),(int) (-79.95289*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66192*1E6),(int) (-79.952736*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.662083*1E6),(int) (-79.95255*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66246*1E6),(int) (-79.95214*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.662727*1E6),(int) (-79.951836*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66292*1E6),(int) (-79.951614*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.663174*1E6),(int) (-79.951324*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.663578*1E6),(int) (-79.95084*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66384*1E6),(int) (-79.95059*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6641*1E6),(int) (-79.95035*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.664368*1E6),(int) (-79.9501*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.664574*1E6),(int) (-79.9501*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66477*1E6),(int) (-79.94997*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.665085*1E6),(int) (-79.94965*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66534*1E6),(int) (-79.94937*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66552*1E6),(int) (-79.94919*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.665752*1E6),(int) (-79.94895*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.666096*1E6),(int) (-79.94883*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66638*1E6),(int) (-79.94868*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.666653*1E6),(int) (-79.948524*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.667114*1E6),(int) (-79.94859*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.667362*1E6),(int) (-79.948494*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.667583*1E6),(int) (-79.9484*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66778*1E6),(int) (-79.94831*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668026*1E6),(int) (-79.94822*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668198*1E6),(int) (-79.948204*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66813*1E6),(int) (-79.94827*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66813*1E6),(int) (-79.94827*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66813*1E6),(int) (-79.94827*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66813*1E6),(int) (-79.94827*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66807*1E6),(int) (-79.94818*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66804*1E6),(int) (-79.94817*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668022*1E6),(int) (-79.948166*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.667995*1E6),(int) (-79.948166*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668056*1E6),(int) (-79.94826*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668144*1E6),(int) (-79.94842*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668224*1E6),(int) (-79.948586*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66832*1E6),(int) (-79.94879*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66864*1E6),(int) (-79.949524*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668888*1E6),(int) (-79.95001*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669025*1E6),(int) (-79.950294*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.6692*1E6),(int) (-79.95065*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669434*1E6),(int) (-79.95119*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669453*1E6),(int) (-79.95162*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669518*1E6),(int) (-79.95194*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669575*1E6),(int) (-79.95225*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66965*1E6),(int) (-79.95264*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669582*1E6),(int) (-79.95318*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669487*1E6),(int) (-79.95365*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669384*1E6),(int) (-79.95395*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66926*1E6),(int) (-79.95431*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66906*1E6),(int) (-79.95468*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668934*1E6),(int) (-79.95505*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668846*1E6),(int) (-79.95529*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668804*1E6),(int) (-79.95555*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66875*1E6),(int) (-79.9559*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668983*1E6),(int) (-79.95628*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668938*1E6),(int) (-79.95605*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.668995*1E6),(int) (-79.95601*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66905*1E6),(int) (-79.95594*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669052*1E6),(int) (-79.95564*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669235*1E6),(int) (-79.95543*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669346*1E6),(int) (-79.95547*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66948*1E6),(int) (-79.95552*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66951*1E6),(int) (-79.95582*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66955*1E6),(int) (-79.95598*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669685*1E6),(int) (-79.95634*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669754*1E6),(int) (-79.956635*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66977*1E6),(int) (-79.95667*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66986*1E6),(int) (-79.95677*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669903*1E6),(int) (-79.95682*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669926*1E6),(int) (-79.95685*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66995*1E6),(int) (-79.95689*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66996*1E6),(int) (-79.9569*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669968*1E6),(int) (-79.95692*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66997*1E6),(int) (-79.956924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66997*1E6),(int) (-79.956924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66997*1E6),(int) (-79.956924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66997*1E6),(int) (-79.956924*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.670082*1E6),(int) (-79.95647*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.670143*1E6),(int) (-79.956276*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.670055*1E6),(int) (-79.955925*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.67004*1E6),(int) (-79.95567*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66995*1E6),(int) (-79.95533*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669933*1E6),(int) (-79.955124*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.669888*1E6),(int) (-79.95502*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.66999*1E6),(int) (-79.95466*1E6)));
//		    	 tracks.add(new GeoPoint((int) (39.67014*1E6),(int) (-79.95459*1E6)));
				
			}
			/*
			 * House keeping for google
			 */
			protected boolean isRouteDisplayed() {
				return false;

			}
			/*
			 * Creates a file called gps_tracks.txt in the directory data/data/com.example.traffic/
			 * If this is the programs first write it will write the a unique identify first into the file. 
			 * From there on out it writes the date/time,latitude,longitude,altitude,accuracy,bearing,and speed.
			 * All are separated by commas
			 */
			public void WriteToTxt(Location loc) throws Exception
			{    
				File file = new File("data/data/com.example.trafficmap/gps_tracks.txt");
				if (file.exists()&&first_write){
					file.delete();
					try {
						BufferedWriter writer = new BufferedWriter(new FileWriter(file,true));
						if(first_write){
							writer.write(m_szDevIDShort+"\n");
							writer.flush();
							first_write =false;
						}
						Date now = new Date(loc.getTime());
						SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
						sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

						String dateTimeString = sdf.format(now);

						String outputString = String.format(Locale.US, "%s,%f,%f,%f,%f,%f,%f\n", dateTimeString,
								loc.getLatitude(),
								loc.getLongitude(),
								loc.getAltitude(),
								loc.getAccuracy(),
								loc.getBearing(),
								loc.getSpeed());
						writer.write(outputString+"\n");
						writer.flush();  
						writer.close();
					}
					finally{

					}
				}
				else{
					try {
						//     out = new BufferedOutputStream(new FileOutputStream(file));
						BufferedWriter writer = new BufferedWriter(new FileWriter(file,true));
						Date now = new Date(loc.getTime());
						SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
						sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

						String dateTimeString = sdf.format(now);

						String outputString = String.format(Locale.US, "%s,%f,%f,%f,%f,%f,%f\n", dateTimeString,
								loc.getLatitude(),
								loc.getLongitude(),
								loc.getAltitude(),
								loc.getAccuracy(),
								loc.getBearing(),
								loc.getSpeed());
						writer.write(outputString+"\n");
						writer.flush();  
						writer.close();
					}
					finally{

					}
				}

			}
			//    public void postData() {
			//    	 // Creating HTTP client
			//        HttpClient httpClient = new DefaultHttpClient();
			//        // Creating HTTP Post
			//        HttpPost httpPost = new HttpPost(
			//                "http://www.example.com/login");
			// 
			//        // Building post parameters
			//        // key and value pair
			//        List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
			//        nameValuePair.add(new BasicNameValuePair("email", "user@gmail.com"));
			//        nameValuePair.add(new BasicNameValuePair("message",
			//                "Hi, trying Android HTTP post!"));
			// 
			//        // Url Encoding the POST parameters
			//        try {
			//            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
			//        } catch (UnsupportedEncodingException e) {
			//            // writing error to Log
			//            e.printStackTrace();
			//        }
			// 
			//        // Making HTTP Request
			//        try {
			//            HttpResponse response = httpClient.execute(httpPost);
			// 
			//            // writing response to log
			//            Log.d("Http Response:", response.toString());
			//        } catch (ClientProtocolException e) {
			//            // writing exception to log
			//            e.printStackTrace();
			//        } catch (IOException e) {
			//            // writing exception to log
			//            e.printStackTrace();
			// 
			//        }
			//
			//    	  
			//    }
			public class MyLocationListener implements LocationListener
			{
				/*
				 * Turns the latitude and longitude into a geopoint.
				 * Adds this GeePoint to a Global arraylist called tracks.
				 * Moves the map to the current GeoPoint, so that the map follows the user. 
				 * 
				 */
				@Override
				public void onLocationChanged(Location loc)
				{
					String coordinates[] = {""+loc.getLatitude(), ""+loc.getLongitude()};
					double lat = Double.parseDouble(coordinates[0]);
					double lng = Double.parseDouble(coordinates[1]);

					GeoPoint point = new GeoPoint(
							(int) (lat * 1E6),
							(int) (lng * 1E6));
					tracks.add(point);
					
					mapController.animateTo(point);

					MyMapOverlays marker = new MyMapOverlays(point) ;
					List<Overlay> listOfOverLays = mapView.getOverlays();
					listOfOverLays.clear();
					listOfOverLays.add(marker);
					try {
						WriteToTxt(loc);
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					// postData();
					mapView.invalidate();
					//    
					//    String Text = "My current location is: " + "Latitud = " + lat + "Longitud = " + lng;
					//    Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();

				}
				/*
				 * Prints a message to the screen if the gps is turned off
				 */
				@Override
				public void onProviderDisabled(String provider)
				{
					Toast.makeText( getApplicationContext(),
							"Gps Disabled",
							Toast.LENGTH_SHORT ).show();
				}
				/*
				 * Prints a message to the screen if the gps is turned on
				 */
				@Override
				public void onProviderEnabled(String provider)
				{
					Toast.makeText( getApplicationContext(),
							"Gps Enabled",
							Toast.LENGTH_SHORT).show();
				}

				@Override
				public void onStatusChanged(String provider, int status, Bundle extras)
				{

				}

			}
			/*My overlay Class starts*/
			class MyMapOverlays extends com.google.android.maps.Overlay
			{
				/*
				 * fields
				 */
				GeoPoint location = null;
				/*
				 * Constructor for MyMapOverlays
				 */
				public MyMapOverlays(GeoPoint location)
				{
					super();
					this.location = location;
				}
				/*
				 * Calls all the different overlays to draw
				 */
				@Override
				public void draw(Canvas canvas, MapView mapView, boolean shadow)
				{

					super.draw(canvas, mapView, shadow);
					drawCurrentLocation(canvas, mapView);
					drawPath(canvas, mapView);


				}
				/*
				 * Draws the trace of the the users taken path. 
				 * Pulls tracks from the tracks arraylist.
				 */

				private void drawPath(Canvas canvas, MapView mapView)
				{
					int xPrev = -1, yPrev = -1, xNow = -1, yNow = -1;
					//Configuring the paint brush
					Paint myPaint = new Paint();
					myPaint.setDither(true);
					myPaint.setColor(Color.MAGENTA);
					myPaint.setStyle(Paint.Style.FILL_AND_STROKE);
					myPaint.setStrokeJoin(Paint.Join.ROUND);
					myPaint.setStrokeCap(Paint.Cap.ROUND);
					myPaint.setStrokeWidth(4);

					myPaint.setAlpha(100);
					if (tracks != null){
						for (int i = 0; i < tracks.size() - 4; i++) {
							GeoPoint gp = tracks.get(i);
							Point point = new Point();
							mapView.getProjection().toPixels(gp, point);
							xNow = point.x;
							yNow = point.y;
							if (xPrev != -1) {
								canvas.drawLine(xPrev, yPrev, xNow, yNow, myPaint);
							}
							xPrev = xNow;
							yPrev = yNow;
						}
					}
				}
				/*
				 * Draws the current location on the map. 
				 */

				private void drawCurrentLocation(Canvas canvas, MapView mapView) {
					//translate the screen pixels
					Point screenPoint = new Point();
					mapView.getProjection().toPixels(this.location, screenPoint);

					//add the image
					canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.location1),
							screenPoint.x, screenPoint.y , null); //Setting the image  location on the screen (x,y).
				}

			}
			/*My overlay Class ends*/
}